As the use of computers to generate and display images has become more widespread, new applications have given rise to new and more complex requirements.
The requirement of overlaying images--that is, having a background image over which is displayed one or more foreground images--has existed for some time and has been solved by a number of methods. For example, U.S. Pat. No. 4,954,970 discloses a hardware based system (relying on a bidirectional multiple bus structure) to allow graphics overlay. U.S. Pat. No. 5,195,180 uses software to display characters over color backgrounds.
A more complex problem is created by the requirement that two images be displayed simultaneously in the same screen space (one on top of the other), but in a way such that all the features of each image are still visible. An example of an application which might require such graphical manipulation is a weather map. In such an application, the first image (the background image) would be a picture of a region of the earth on a clear day, and the second image would be a picture of the cloud cover over that region of the earth. The user wishes to see what areas of the first background image (the earth's surface) are obscured by the second image (cloud cover). In addition, the user needs to see through the cloud cover to assist him in identifying the specific areas affected.
In the prior art, three methods have been used to attempt to solve this problem.
The first method uses one image plane for the background and one for the foreground and then manipulates the foreground image separately. While this method can be successful, the use of multiple image planes can require significantly large memory capacity and processing power. As a result, the method requires, at a minimum, specialized workstations and graphics adapters, making it expensive to implement.
A second method requires generating a new composite image each time the transparency of the foreground is changed. This method has an advantage in that the color resolution of the background image is essentially unchanged. However, it has a significant drawback in that, for any non-trivial image size this method is very compute-intensive. As a result, this implementation will generally result in significant time lapse between successive images. Alternatively, if specialized hardware is used to provide faster response, using this method becomes expensive and may be hard to cost-justify for certain applications.
A third method generates a composite image by "spatial merging" of the pixels of the foreground and background images. Spatial merging is the reduction of the number of pixels of both the foreground and background image, and then combining the two pixel reduced images into one image. For example, assume image A and image B are both 800.times.800 pixel images, that is, each image consists of 640,000 pixels arranged in 800 columns by 800 rows. If all the even columns of image A were discarded and all the even rows were discarded, then A would consist of a 400.times.400 pixel image. Similarly, by discarding the odd rows and columns of image B, image B would be reduced to a 400.times.400 pixel image. If the two images were interleaved, pixel by pixel, row by row, column by column, an 800.times.800 pixel image C would be produced, where the even rows and columns of image C would be those of image A and the odd rows and columns of image C would be those of image B. Note that a pixel value in the image C is the same value as that of the image (A or B) from which it was taken so the color resolution of the images is maintained. However, on the average, the spatial resolution of the image is reduced by 50% in the x and y directions.
Unfortunately, for many applications, the color/spatial resolution trade off of this method is not acceptable. Generally, color resolution is more easily sacrificed: that is, high color resolution is not available in many of the images that users are exposed to daily, hence its lack is more easily dismissed, and, further, a reduction even by a factor of four or eight is generally not visible to the eye. Spatial resolution is more easily perceived by users and often more important in transmitting useful data through the display.
An additional drawback of the third method is that it requires recalculating the pixel values of the foreground image each time the transparency of the foreground image is changed. Thus, this method shares the same requirement for compute-power and special hardware as the second method and, accordingly, shares its cost drawbacks.